package com.fabriciojf.ambientefactory;

/**
 * Retorna os dados solicitados de acordo com o sistema operacional corrente
 *
 * @author Fabricio fabriciojf@gmail.com
 * @since 27/04/2010
 * @version 1.0
 */
public class AmbienteCurrentSystem {

    private static AmbienteCurrentSystem instance = new AmbienteCurrentSystem();
    private AmbienteFactory factory;

    /**
     * Singleton
     */
    public static AmbienteCurrentSystem getInstance() {
        return instance;
    }

    /**
     * Retorna o nome do arquivo de atualizacao do Calima para o ambiente em
     * que o sistema esta rodando
     */
    public String get() {
        return factory.get();
    }

    /**
     * Constructor apenas define o sistema operacional corrente
     */
    private AmbienteCurrentSystem() {
        String sistema = System.getProperty("os.name");
        if (sistema.contains("Windows")) {
            factory = new AmbienteWindows();
        } else if (sistema.contains("Linux")) {
            factory = new AmbienteLinux();
        }
    }
}
